import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Clase que sirve para poder mostrar mensajes en pantalla
 * 
 * @author Cesar Delgado
 * @version Mayo 2012
 */
public class Contador extends Actor
{
    private int metros;
    private int tipo;

    /**
     * Constructor para objetos de la clase Contador de un determinado tipo
     * @param tipoContador para crear un contador para monedas o para metros
     */
    public Contador( int tipoContador )
    {
        metros=0;
        tipo = tipoContador;
        actualiza(metros);
        
    }
    
    /**
     * Constructor para crea un mensaje en pantalla a partir de una imagen dada
     * @param imagen La imagen que se muestra en pantalla 
     */
    public Contador(GreenfootImage imagen)
    {
        setImage(imagen);
    }
    
    /**
     * Actualiza el numero que muestra el contador por un valor nuevo
     * @param valorNuevo el nuevo numero a mostrar
     */
    public void actualiza(int valorNuevo)
    {
        if(tipo == 0)
            contMetros(valorNuevo);
        else
            contMonedas(valorNuevo);
        
    }
    
    /**
     * Hace las instrucciones necesarias para mostrar el mensaje
     */
    private void contMetros(int valorNuevo)
    {
        GreenfootImage imagen;
        
        
        metros=valorNuevo;
        
        imagen = new GreenfootImage(100,20);
        imagen.setColor(java.awt.Color.WHITE);
        imagen.fillRect(0,0,100,25);
        
        imagen.drawImage( new GreenfootImage(String.valueOf(metros),20,java.awt.Color.BLACK,java.awt.Color.WHITE),0,0 );
        imagen.drawImage( new GreenfootImage("MTS",20,java.awt.Color.RED,java.awt.Color.WHITE),55,0 );
        setImage(imagen); 
    }
    
    /**
     * Hace las instrucciones necesarias para mostrar el mensaje
     */
    private void contMonedas(int valorNuevo)
    {
        GreenfootImage imagen;
        GreenfootImage imagen2;
        
        metros=valorNuevo;
        
        imagen = new GreenfootImage(80,20);
        imagen.setColor(java.awt.Color.WHITE);
        imagen.fillRect(0,0,80,20);
        
        imagen2 = new GreenfootImage("coin.png");
        imagen2.scale(20,20);
        
        imagen.drawImage( new GreenfootImage(String.valueOf(metros),20,java.awt.Color.BLACK,java.awt.Color.WHITE),0,0 );
        imagen.drawImage( imagen2,55,0 );
        setImage(imagen); 
    }
}
